package com.xbdun.service.bmp.service.system;

import com.xbdun.common.api.Client;
import com.xbdun.common.page.Pager;
import com.xbdun.facade.bmp.request.system.SysUserPagerRequest;
import com.xbdun.facade.bmp.request.system.SysUserRequest;
import com.xbdun.facade.bmp.response.open.OrgUserSaoInfoWayResponse;
import com.xbdun.facade.bmp.response.system.QuerySysUsersResponse;
import com.xbdun.facade.bmp.response.system.SysUserResponse;

/**
* @ClassName: SysUserService
* @Description: 系统平台用户
* @author zhanggt 360730440@qq.com
* @date 2017年5月3日 下午1:29:05
 */
public interface SysUserService {

	/**
	* @Title: getSysUserOrCreate
	* @Description: 获取并且创建用户信息
	* @param request
	* @return    设定文件
	* @return SysUserResponse    返回类型
	 */
	SysUserResponse getSysUserLogin(SysUserRequest request)throws Exception;
	
	/**
	* @Title: queryUserPager
	* @Description: 新增查询平台用户
	* @param request    设定文件
	* @return Pager<QuerySysUsersResponse>    返回类型
	 */
	public Pager<QuerySysUsersResponse> querySysUserPager(SysUserPagerRequest request, Client client);
	
	/**
	* @Title: queryOrgUserPager
	* @Description: 检索机构和平台用户
	* @param request    设定文件
	* @return Pager<QuerySysUsersResponse>    返回类型
	 */
	public Pager<QuerySysUsersResponse> queryOrgUserPager(SysUserPagerRequest request, Client client);

	/**
	* @Title: getUserCodeByUnionId
	* @Description: 根据用户UnionId获取用户编号
	* @param unionId
	* @return    设定文件
	* @return Long    返回类型
	 */
	Long getUserCodeByUnionId(String unionId);

	/**
	* @Title: getOrgUserSaoInfo
	* @Description: 根据机构编号，用户编号查询信息
	* @param orgCode	机构编号
	* @param userCode	用户编号
	* @return OrgUserSaoInfoWayResponse    返回类型
	 */
	OrgUserSaoInfoWayResponse getOrgUserSaoInfo(long orgCode, long userCode);
}
